static int _is_vowel(int ch) {
	return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u';
}

int maxVowels(char str_b[], int slen) {
	const char* left_p = str_b;
	const char* rightn_p = str_b + slen;
	unsigned vowel_nums = 0;
	for (const char* p = left_p; p < rightn_p; p++) {
		int ch = *p;
		if (ch == '\0') {
			return vowel_nums;
		} else if (_is_vowel(ch)) {
			vowel_nums++;
		}
	}
	unsigned max_vowel_nums = vowel_nums;
	while (1) {
		int right_ch = *rightn_p;
		if (right_ch == '\0') {
			return max_vowel_nums;
		}
		int right_vowel = _is_vowel(right_ch);
		int left_ch = *left_p;
		int left_vowel = _is_vowel(left_ch);
		vowel_nums += right_vowel - left_vowel;
		if (vowel_nums > max_vowel_nums) {
			max_vowel_nums = vowel_nums;
		}
		left_p++;
		rightn_p++;
	}
}
